﻿//typedef struct Node {
//    int val;
//    struct Node* next;
//}Node;
//typedef struct Queue {
//    Node* front;
//    Node* tail;
//}Queue;
//void QueuePush(Queue* Q, int x) {
//    Node* node = (Node*)malloc(sizeof(Node));
//    node->val = x;
//    node->next = 0;
//    if (Q->front == Q->tail) {
//        Q->front = Q->tail = node;
//    }
//    else {
//        Q->tail->next = node;
//        Q->tail = node;
//    }
//}
//void QueuePop(Queue* Q) {
//    if (!Q->front) {
//        return;
//    }
//    Node* next = Q->front->next;
//    free(Q->front);
//    Q->front = next;
//}
//typedef struct {
//    Queue* Q1;
//    Queue* Q2;
//} MyStack;
//
//MyStack* myStackCreate() {
//    MyStack* Stack = (MyStack*)malloc(sizeof(MyStack));
//    Stack->Q1->front = Stack->Q1->tail = 0;
//    Stack->Q2->front = Stack->Q2->tail = 0;
//}
//
//void myStackPush(MyStack* obj, int x) {
//    Node* node = (Node*)malloc(sizeof(Node));
//    node->val = x;
//    node->next = 0;
//    if (obj->Q2->front == obj->Q2->tail) {
//        obj->Q2->front = obj->Q2->tail = node;
//    }
//    else {
//        obj->Q2->tail->next = node;
//        obj->Q2->tail = node;
//    }
//}
//
//int myStackPop(MyStack* obj) {
//    if (!obj->Q2->front) {
//        return;
//    }
//    obj->Q1->front = obj->Q2->tail;
//}

//#include <stdio.h>
//#include <stdlib.h>
//typedef struct Node {
//	int val;
//	struct Node* Next;
//}Node;
//void Creat(Node* head, int n) {
//	Node* next = 0, * p = head;
//	for (int i = 1; i <= n; i++) {
//		if (i > 1) {
//			p = next;
//		}
//		p->val = i;
//		next = (Node*)malloc(sizeof(Node));
//		p->Next = next;
//	}
//	p->Next = head;
//}
//int main() {
//	int n, m;
//	fscanf(stdin, "%d%d", &n, &m);
//	Node* head = (Node*)malloc(sizeof(Node));
//	Creat(head, n);
//	Node* p = head;
//	while (p->Next != p) {
//		Node* last = p;
//		for (int i = 1; i <= m; i++) {
//			if (i == m) {
//				last->Next = p->Next;
//				free(p);
//				p = last->Next;
//				break;
//			}
//			last = p;
//			p = p->Next;
//		}
//	}
//	fprintf(stdout, "%d", p->val);
//	return 0;
//}